
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
<title>slideUpDownRefresh</title>
<link rel="stylesheet" type="text/css" href = "bootstrap.css">
<link rel="stylesheet" type="text/css" href = "bootstrap-theme.css?v=1">

</head>
<style>
    #wrapper {
    position: absolute;
    z-index: 1;
    top: 0px;
    bottom: 0px;
    left: 0;
    width: 100%;
    background: #fff;
    overflow: hidden;
}

#scroller {
    position: absolute;
    z-index: 1;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    width: 100%;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    -o-text-size-adjust: none;
    text-size-adjust: none;
}

#scroller-pullDown,#scroller-pullUp {
    background: #fff;
    height: 40px;
    line-height: 40px;
    padding: 5px 10px;
    border-bottom: 1px solid #ccc;
    font-weight: bold;
    font-size: 14px;
    color: #888;
    text-align:center;
    position:absolute;
    left:0px;
    width:100%;
}
#scroller-pullDown{
    top:-40px;
}
#scroller-pullUp{
    bottom:-40px;
}

#scroller-pullDown .pull-up-msg,#scroller-pullUp .pull-down-msg {
    padding-left:20px;
}

#scroller-pullDown .pull-down-icon,#scroller-pullUp .pull-up-icon{
    display:inline-block;
    color:#f00;
    font-size:1.4;
    -webkit-transform:rotate(0deg);
    -webkit-transition-property: -webkit-transform;
    -webkit-transition-duration: 500ms;
}
#scroller-pullDown .pull-down-icon.reverse_icon,#scroller-pullUp .pull-up-icon.reverse_icon{
    -webkit-transform: rotate(-180deg);
}
#scroller ul {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    text-align: left;
}

#scroller li {
    padding: 0 10px;
    height: 40px;
    line-height: 40px;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #fff;
    background-color: #fafafa;
    font-size: 14px;
}
</style>
<body onload="loaded()">
<div id="wrapper">
    <div id="scroller">
        <div id = "scroller-pullDown">
            <span id = "down-icon" class = "icon-double-angle-down pull-down-icon"></span>
            <span id = "pullDown-msg" class = "pull-down-msg">下拉刷新</span>
        </div>
        <div id = "scroller-content">
            <ul>
                <li>Pretty row 1</li>
                <li>Pretty row 2</li>
                <li>Pretty row 3</li>
                <li>Pretty row 4</li>
                <li>Pretty row 5</li>
                <li>Pretty row 6</li>
                <li>Pretty row 7</li>
                <li>Pretty row 8</li>
                <li>Pretty row 9</li>
                <li>Pretty row 10</li>
                <li>Pretty row 11</li>
                <li>Pretty row 12</li>
                <li>Pretty row 13</li>
                <li>Pretty row 14</li>
                <li>Pretty row 15</li>
                <li>Pretty row 16</li>
                <li>Pretty row 17</li>
                <li>Pretty row 18</li>
                <li>Pretty row 19</li>
                <li>Pretty row 20</li>
                <li>Pretty row 21</li>
                <li>Pretty row 22</li>
                <li>Pretty row 23</li>
                <li>Pretty row 24</li>
                <li>Pretty row 25</li>
                <li>Pretty row 26</li>
                <li>Pretty row 27</li>
                <li>Pretty row 28</li>
                <li>Pretty row 29</li>
                <li>Pretty row 30</li>
                <li>Pretty row 31</li>
                <li>Pretty row 32</li>
                <li>Pretty row 33</li>
                <li>Pretty row 34</li>
                <li>Pretty row 35</li>
                <li>Pretty row 36</li>
                <li>Pretty row 37</li>
                <li>Pretty row 38</li>
                <li>Pretty row 39</li>
                <li>Pretty row 40</li>
                <li>Pretty row 41</li>
                <li>Pretty row 42</li>
                <li>Pretty row 43</li>
                <li>Pretty row 44</li>
                <li>Pretty row 45</li>
                <li>Pretty row 46</li>
                <li>Pretty row 47</li>
                <li>Pretty row 48</li>
                <li>Pretty row 49</li>
                <li>Pretty row 50</li>
            </ul>
        </div>
        <div id = "scroller-pullUp">
            <span id = "up-icon" class = "icon-double-angle-up pull-up-icon"></span>
            <span id = "pullUp-msg" class = "pull-up-msg">上拉刷新</span>
        </div>
    </div>
</div>
</body>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="iscroll.js"></script>
<script type="text/javascript">
function loaded () {
    var myScroll,
        upIcon = $("#up-icon"),
        downIcon = $("#down-icon");
        
    myScroll = new IScroll('#wrapper', { probeType: 3, mouseWheel: true });
       //  probeType: 3,
       // momentum: false,//关闭惯性滑动
       //  mouseWheel: true,//鼠标滑轮开启
       //  scrollbars: true,//滚动条可见
       //  fadeScrollbars: true,//滚动条渐隐
       //  interactiveScrollbars: true,//滚动条可拖动
       //  shrinkScrollbars: 'scale', // 当滚动边界之外的滚动条是由少量的收缩
       //  useTransform: true,//CSS转化
       //  useTransition: true,//CSS过渡
       //  bounce: true,//反弹
       //  freeScroll: false,//只能在一个方向上滑动
       //  startX: 0,
       //  startY: 0,
       // snap: "li",//以 li 为单位
    //probeType属性，表明此插件，可以监听scroll事件
    myScroll.on("scroll",function(){
        var y = this.y,
            maxY = this.maxScrollY - y,
            downHasClass = downIcon.hasClass("reverse_icon"),
            upHasClass = upIcon.hasClass("reverse_icon");
        
        if(y >= 40){
            !downHasClass && downIcon.addClass("reverse_icon");
            return "";
        }else if(y < 40 && y > 0){
            downHasClass && downIcon.removeClass("reverse_icon");
            return "";
        }
        
        if(maxY >= 40){
            !upHasClass && upIcon.addClass("reverse_icon");
            return "";
        }else if(maxY < 40 && maxY >=0){
            upHasClass && upIcon.removeClass("reverse_icon");
            return "";
        }
    });
    
    myScroll.on("slideDown",function(){
        if(this.y > 40){
            alert("slideDown");
            upIcon.removeClass("reverse_icon")
        }
    });
    
    myScroll.on("slideUp",function(){
        if(this.maxScrollY - this.y > 40){
            alert("slideUp");
            upIcon.removeClass("reverse_icon")
        }
    });
}

</script>
</html>